<?php



class FacturacionServicioMapBuilder implements MapBuilder {

	
	const CLASS_NAME = 'plugins/facturacion/lib/model.map.FacturacionServicioMapBuilder';

	
	private $dbMap;

	
	public function isBuilt()
	{
		return ($this->dbMap !== null);
	}

	
	public function getDatabaseMap()
	{
		return $this->dbMap;
	}

	
	public function doBuild()
	{
		$this->dbMap = Propel::getDatabaseMap(FacturacionServicioPeer::DATABASE_NAME);

		$tMap = $this->dbMap->addTable(FacturacionServicioPeer::TABLE_NAME);
		$tMap->setPhpName('FacturacionServicio');
		$tMap->setClassname('FacturacionServicio');

		$tMap->setUseIdGenerator(true);

		$tMap->setPrimaryKeyMethodInfo('facturacion.seq_servicio');

		$tMap->addPrimaryKey('ID', 'Id', 'INTEGER', true, null);

		$tMap->addForeignKey('UNIDAD_DE_MEDIDA_ID', 'UnidadDeMedidaId', 'INTEGER', 'facturacion.unidad_de_medida', 'ID', true, null);

		$tMap->addColumn('NOMBRE', 'Nombre', 'VARCHAR', false, 255);

		$tMap->addColumn('PRECIO', 'Precio', 'DOUBLE', false, null);

		$tMap->addForeignKey('PUC_ID', 'PucId', 'BIGINT', 'contabilidad.puc', 'ID', true, null);

		$tMap->addForeignKey('IVA_ID', 'IvaId', 'BIGINT', 'contabilidad.iva', 'ID', false, null);

		$tMap->addValidator('ID', 'unique_ID', 'UniqueValidator', '', 'Ya existe un elemento con el mismo nombre.');

        $tMap->addValidator('ID', 'required_ID', 'RequiredValidator', '', 'Este campo es necesario');
    
        $tMap->addValidator('UNIDAD_DE_MEDIDA_ID', 'required_UNIDAD_DE_MEDIDA_ID', 'RequiredValidator', '', 'Este campo es necesario');
    
        $tMap->addValidator('NOMBRE', 'maxLength_NOMBRE', 'MaxLengthValidator', 255, 'El valor tiene demasiados caracteres. [max= 255]');
    
        $tMap->addValidator('PUC_ID', 'required_PUC_ID', 'RequiredValidator', '', 'Este campo es necesario');
    
	} 
} 